<?php
	auth(ADMIN,false,true);
	
	$action = (isset($_GET['action']) ? $_GET['action'] : 'defaut');
	$display = '';
	$default = "";
	switch($action){
	
	
		case "defaut" : 
			$display .= '<div id="container_3" style="display:none">
						 <div class="global_container">Administration de la base de données
						 <br />
						 Il y a 50 tables.
						 <br />
						 <a href="' . getLienModule("bdd","bdd.admin") . '?action=addtbl_form">Ajouter une table</a>
						 <br />
						 <a href="' . getLienModule("bdd","bdd.admin") . '?action=updtbl_list">Modifier/Vider/Supprimer une table</a>
						 </div></div>';
	
		break;
		
		case "addtbl_form" :
			$display = '<h2>Création d\'une nouvelle table pour ' . SITE_NAME . '</h2>
			<form action="'.getLienModule("bdd","bdd.admin").'?action=addtbl" method="post">
				<label for="id_tblname">Nom de la table : </label><input type="text" name="tblname" id="id_tblname" placeholder="'.SITE_NAME.'."/><br />
				Nom du champ : <input type="text" name="tbldata[0]" style="width:200px;"/> | Type : <select name="tbldata_type[0]"><option value=""></option><option value="varchar">VARCHAR</option><option value="INT">INT</option><option value="TEXT">TEXT</option><option value="DATE">DATE</option><option value="DATETIME">DATETIME</option><option value="timestamp">TIMESTAMP</option><option value="time">TIME</option></select> | Taille/Valeur : <input type="text" name="tbldata_len[0]" style="width:50px;" /> | Index : <select name="tbldata_index[0]"><option value=""></option><option value=PRIMARY">PRIMARY</option><option value="UNIQUE">UNIQUE</option><option value="INDEX">INDEX</option><option value="FULLTEXT">FULLTEXT</option></select> | Auto Increment <input type="checkbox" name="tbldata_ai[0]" />
			</form>';
		break;
		case "updtbl_list"	 :
			$query = $pdo->query("SHOW TABLES");
			$display = '<table cellpadding="1" cellspacing="0" bordure = "1">
							<thead>
								<tr>
									<th>Nom de la table</th>
									<th>Nombre de resultat(s)</th>
									<th>Action</th>
								</tr>
							</thead>
				';
			while($data = $query->fetch(PDO::FETCH_BOTH)){
				$nbresult = $pdo->query("SELECT COUNT(*) FROM `".$data[0]."`")->fetchColumn();
				$tblname_token = md5($data[0].'updtbl_action') ;
				$display .= '<tr>
								<td>' . $data[0] . '</td>
								<td>' . $nbresult . '</td>
								<td><a href="'.getLienModule("bdd","bdd.admin").'?action=updtbl&tblname='.urlencode($data[0]).'&token='.$tblname_token.'">[u]Modifier</a> | <a href="'.getLienModule("bdd","bdd.admin").'?action=cleartbl&tblname='.urlencode($data[0]).'&token='.$tblname_token.'">[c]Vider</a> | <a href="'.getLienModule("bdd","bdd.admin").'?action=deletetbl&tblname='.urlencode($data[0]).'&token='.$tblname_token.'">[x]Supprimer</a></td>';	
			}
			
			$display .= '</tbody>
							</table>';
		break;
		case "cleartbl" : 
			if(isset($_GET["tblname"])&&isset($_GET['token'])){
					$tableExist = $pdo->query("SHOW TABLES LIKE ".$pdo->quote($_GET['tblname']))->fetchColumn();
					if($tableExist!==false && isset($_GET['token'])){
						if(md5($_GET['tblname'].'updtbl_action')==$_GET['token']){
						
									if(!isset($_POST['confirm'])){
										$display = '/!\Êtes-vous sûr de vouloir vider la table `' . htmlspecialchars($_GET['tblname']) . '` de façon definitif (L\'action ne pourra être réversible) ?
										<form action="'.getLienModule("bdd","bdd.admin") . '?action=cleartbl&tblname='.$_GET['tblname'].'&token='.$_GET['token'].'" method="post">
										<input type="submit" name="confirm" value="Non" /> &nbsp; <input type="submit" name="confirm" value="Oui" /></form>';	
									}else{
										if($_POST['confirm']=='Oui'){
											$status = $pdo->query('DELETE FROM `'.$_GET['tblname'].'`');
											redirect('Action effectuée : La table `' . htmlspecialchars($_GET['tblname']) . '` à été vider de façon definitif !',getLienModule("bdd","bdd.admin") . '?action=updtbl_list');
										}else{
											redirect('Action annulée !',getLienModule("bdd","bdd.admin") . '?action=updtbl_list');
										}
									}//end isset post confirm
						
						}else{
						redirect('Erreur : Le token ne permet pas de vider cette table !',getLienModule("bdd","bdd.admin") . '?action=updtbl_list');
						}
					}//la table n'existe pas/plus
					else {
						redirect('Erreur : La table `' . htmlspecialchars($_GET['tblname']) . '` n\'existe pas ou plus !',getLienModule("bdd","bdd.admin") . '?action=updtbl_list');
					}
				
			}else{
				redirect('Erreur : Manque d\'un ou de plusieurs paramètres !',getLienModule("bdd","bdd.admin") . '?action=updtbl_list');
			}
		break;
	}
if(!strstr($_SERVER['REQUEST_URI'],"index.admin"))
    echo display;
?>